/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.dengues.model.database;

import org.dengues.model.project.CDCConnType;
import org.eclipse.emf.common.util.EList;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>DB Table</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link org.dengues.model.database.DBTable#getColumns <em>Columns</em>}</li>
 *   <li>{@link org.dengues.model.database.DBTable#isOnlyRead <em>Only Read</em>}</li>
 *   <li>{@link org.dengues.model.database.DBTable#getMetaType <em>Meta Type</em>}</li>
 *   <li>{@link org.dengues.model.database.DBTable#isActivateCdc <em>Activate Cdc</em>}</li>
 *   <li>{@link org.dengues.model.database.DBTable#getCdcConn <em>Cdc Conn</em>}</li>
 * </ul>
 * </p>
 *
 * @see org.dengues.model.database.DatabasePackage#getDBTable()
 * @model
 * @generated
 */
public interface DBTable extends DiagramChild {
    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    String copyright = "// ============================================================================\r\n//\r\n// Copyright (C) 2006-2007 Dengues\r\n//\r\n// Google Group: http://groups.google.com/group/dengues\r\n// QQ Group: 24885404\r\n//\r\n// This library is free software; you can redistribute it and/or\r\n// modify it under the terms of the GNU Lesser General Public\r\n// License as published by the Free Software Foundation; either\r\n// version 2.1 of the License.\r\n//\r\n// This library is distributed in the hope that it will be useful,\r\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\r\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r\n// Lesser General Public License for more details.\r\n//\r\n// You should have received a copy of the GNU General Public License\r\n// along with this program; if not, write to the Free Software\r\n// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r\n//\r\n// ============================================================================\r\n";

    /**
     * Returns the value of the '<em><b>Columns</b></em>' containment reference list.
     * The list contents are of type {@link org.dengues.model.database.DBColumn}.
     * It is bidirectional and its opposite is '{@link org.dengues.model.database.DBColumn#getTable <em>Table</em>}'.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Columns</em>' containment reference list isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Columns</em>' containment reference list.
     * @see org.dengues.model.database.DatabasePackage#getDBTable_Columns()
     * @see org.dengues.model.database.DBColumn#getTable
     * @model opposite="table" containment="true"
     * @generated
     */
    EList<DBColumn> getColumns();

    /**
     * Returns the value of the '<em><b>Only Read</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Only Read</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Only Read</em>' attribute.
     * @see #setOnlyRead(boolean)
     * @see org.dengues.model.database.DatabasePackage#getDBTable_OnlyRead()
     * @model
     * @generated
     */
    boolean isOnlyRead();

    /**
     * Sets the value of the '{@link org.dengues.model.database.DBTable#isOnlyRead <em>Only Read</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Only Read</em>' attribute.
     * @see #isOnlyRead()
     * @generated
     */
    void setOnlyRead(boolean value);

    /**
     * Returns the value of the '<em><b>Meta Type</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Meta Type</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Meta Type</em>' attribute.
     * @see #setMetaType(String)
     * @see org.dengues.model.database.DatabasePackage#getDBTable_MetaType()
     * @model
     * @generated
     */
    String getMetaType();

    /**
     * Sets the value of the '{@link org.dengues.model.database.DBTable#getMetaType <em>Meta Type</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Meta Type</em>' attribute.
     * @see #getMetaType()
     * @generated
     */
    void setMetaType(String value);

    /**
     * Returns the value of the '<em><b>Activate Cdc</b></em>' attribute.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Activate Cdc</em>' attribute isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Activate Cdc</em>' attribute.
     * @see #setActivateCdc(boolean)
     * @see org.dengues.model.database.DatabasePackage#getDBTable_ActivateCdc()
     * @model
     * @generated
     */
    boolean isActivateCdc();

    /**
     * Sets the value of the '{@link org.dengues.model.database.DBTable#isActivateCdc <em>Activate Cdc</em>}' attribute.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Activate Cdc</em>' attribute.
     * @see #isActivateCdc()
     * @generated
     */
    void setActivateCdc(boolean value);

    /**
     * Returns the value of the '<em><b>Cdc Conn</b></em>' reference.
     * <!-- begin-user-doc -->
     * <p>
     * If the meaning of the '<em>Cdc Conn</em>' reference isn't clear,
     * there really should be more of a description here...
     * </p>
     * <!-- end-user-doc -->
     * @return the value of the '<em>Cdc Conn</em>' reference.
     * @see #setCdcConn(CDCConnType)
     * @see org.dengues.model.database.DatabasePackage#getDBTable_CdcConn()
     * @model
     * @generated
     */
    CDCConnType getCdcConn();

    /**
     * Sets the value of the '{@link org.dengues.model.database.DBTable#getCdcConn <em>Cdc Conn</em>}' reference.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param value the new value of the '<em>Cdc Conn</em>' reference.
     * @see #getCdcConn()
     * @generated
     */
    void setCdcConn(CDCConnType value);

} // DBTable
